﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System.Drawing;
using Website.Logger;
using DAL;
using BOL;
using System.Web.Script.Services;
using System.Web.Services;
using WebLib;
using UtilityExtensions;
using System.IO;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

namespace UILGestion.Control
{
    public partial class EnvioCorreoPanel : System.Web.UI.UserControl
    {
        

            public string Origen {
            get
            {
                return origenLabel.Text;
            }
            set
            {
                origenLabel.Text = value;
            }
        }
        public string destinatario {
            get
            {
                return DestinatarioTxt.Text;
            }
            set
            {
                DestinatarioTxt.Text = value;
            }
        }
        public string copiaDestinatarios
        {
            get
            {
                string destinatarios = "{0};{1};{2};{3}".Fmt(
                                        copiaDestinatarios1Txt.Text,
                                        copiaDestinatarios2Txt.Text,
                                        copiaDestinatarios3Txt.Text,
                                        copiaDestinatarios4Txt.Text);

                return destinatarios;
            }
           
        }
        public string asunto { get { return asuntoTextBox.Text; } set { asuntoTextBox.Text = value; } }

        public string mensaje { get { return mensajeTextBox.Text; } set { mensajeTextBox.Text = value; } }
        
        

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                
                //FormatForm();
                
            }
            //FormatForm();

        }
        protected void view_Archivo(object sender, EventArgs e)
        {
            string nombre = ((LinkButton)sender).Text;

            string archivo = Server.MapPath("~/App_Data/OrdenCompra/{0}/{1}".Fmt(Session["idEmpresa"], nombre));

            Response.Clear();
             Response.ContentType = "application/pdf";
             Response.AddHeader("Content-disposition", "attachment; filename={0}".Fmt(nombre));
             Response.WriteFile(archivo);
             Response.Flush();
             Response.Close() ;
        }

        public void LoadEnvioCorreoMensaje(int idOrden,int? idOrdenAnticipo,string numeroLabel)
        {
            string archivo= Server.MapPath("~/App_Data/OrdenCompra/{0}/{1}.pdf".Fmt(Session["idEmpresa"], numeroLabel));

                if (!File.Exists(archivo))
                {
                    string directorio
                               = Server.MapPath("~/App_Data/OrdenCompra/{0}/".Fmt(Session["idEmpresa"]));
                    if (!Directory.Exists(directorio))
                        Directory.CreateDirectory(directorio);

                    ReportDocument crystalReport = new ReportDocument();
                    crystalReport.Load(Server.MapPath("~/Rpt/OrdenCompraViewRPT.rpt"));
                    crystalReport.SetDataSource(new OrdenCompraBL().loadOrdenCompraRPT(idOrden, idOrdenAnticipo));
                    string ruta = Server.MapPath("~/App_Data/OrdenCompra/{0}/{1}.pdf".Fmt(Session["idEmpresa"], numeroLabel));
                    crystalReport.ExportToDisk(ExportFormatType.PortableDocFormat, ruta);
                }
                ArchivoLinkButton.Text = "{0}.pdf".Fmt(numeroLabel);
                //ArchivoLinkButton.NavigateUrl = archivo;
           
        }
      

      

    }
}